(defun c:xbrk ()
  (setq brkpt (osnap (getpoint "select crossing") "_int"))
  (setq brkss (ssget "cp" (list
                            (polar brkpt 0 10)
                            (polar brkpt (* PI 0.5) 10)
                            (polar brkpt PI 10)
                            (polar brkpt (* PI 1.5) 10)
                          )
                     '((0 . "LWPOLYLINE"))
              )
  )
  (setq brksslen (sslength brkss))
  (setq brkstep 0)
  (while (< brkstep brksslen)
    (setq lwplename (ssname brkss brkstep))
    (command ".break" lwplename brkpt "@")
    (setq brkstep (1+ brkstep))
  )
  (princ)
)
(defun c:xtnd ()
  (setq brkpt (osnap (getpoint "select crossing") "_nea"))
  (command "move"
                            (polar brkpt 0 10)
                            (polar brkpt (* PI 0.5) 10)
                            (polar brkpt PI 10)
                            (polar brkpt (* PI 1.5) 10)
           ""
           "0,0"
           ""
  )
  (setq brkss (ssget "p"))
  (command ".extend" brkss "" brkpt "")
  (princ)
)